package com.ruoyi.customerSample.domain;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.convert.DateTimeConverter;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 样品分类保存明细对象 sample_type_details
 * 
 * @author ruoyi
 * @date 2023-05-15
 */
@ExcelIgnoreUnannotated
// 字体水平垂直居中
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER,
        verticalAlignment = VerticalAlignmentEnum.CENTER)
@ApiModel("样品分类保存明细对象")
public class SampleTypeDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String id;

    /** 分类 */
    @Excel(name = "分类")
    @ApiModelProperty(value = "分类")
    private String sampleTypeId;

    /** 排序序号 */
    @ExcelProperty("序号")
    @HeadFontStyle(fontHeightInPoints = 12)// 设置标题字体
    @ApiModelProperty(value = "序号")
    private String sorts;

    /** 样品编号 */
    @ExcelProperty("样品编号")
    @HeadFontStyle(fontHeightInPoints = 12)// 设置标题字体
    @ApiModelProperty(value = "样品编号")
    private String sampleNum;

    /** 规格型号 */
    @ExcelProperty("规格型号")
    @HeadFontStyle(fontHeightInPoints = 12)// 设置标题字体
    @ApiModelProperty(value = "规格型号")
    private String model;

    /** 数量 */
    @ExcelProperty("数量")
    @HeadFontStyle(fontHeightInPoints = 12)// 设置标题字体
    @ApiModelProperty(value = "数量")
    private String nums;

    /** 存样时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "存样时间", converter = DateTimeConverter.class)
    @HeadFontStyle(fontHeightInPoints = 12)// 设置标题字体
    @ApiModelProperty(value = "存样时间")
    private Date storeTime;

    /** 存样地点 */
    @ExcelProperty("存样地点")
    @HeadFontStyle(fontHeightInPoints = 12)// 设置标题字体
    @ApiModelProperty(value = "存样地点")
    private String storePlace;

    /** 存样期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "存样期限", converter = DateTimeConverter.class)
    @HeadFontStyle(fontHeightInPoints = 12)
    @ApiModelProperty(value = "存样期限")
    private Date storeLimits;

    /** 备注信息 */
    @ExcelProperty("备注")
    @HeadFontStyle(fontHeightInPoints = 12)// 设置标题字体
    @ApiModelProperty(value = "备注")
    private String remarks;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setSampleTypeId(String sampleTypeId) 
    {
        this.sampleTypeId = sampleTypeId;
    }

    public String getSampleTypeId() 
    {
        return sampleTypeId;
    }
    public void setSorts(String sorts) 
    {
        this.sorts = sorts;
    }

    public String getSorts() 
    {
        return sorts;
    }
    public void setSampleNum(String sampleNum) 
    {
        this.sampleNum = sampleNum;
    }

    public String getSampleNum() 
    {
        return sampleNum;
    }
    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }
    public void setNums(String nums) 
    {
        this.nums = nums;
    }

    public String getNums() 
    {
        return nums;
    }
    public void setStoreTime(Date storeTime) 
    {
        this.storeTime = storeTime;
    }

    public Date getStoreTime() 
    {
        return storeTime;
    }
    public void setStorePlace(String storePlace) 
    {
        this.storePlace = storePlace;
    }

    public String getStorePlace() 
    {
        return storePlace;
    }
    public void setStoreLimits(Date storeLimits) 
    {
        this.storeLimits = storeLimits;
    }

    public Date getStoreLimits() 
    {
        return storeLimits;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sampleTypeId", getSampleTypeId())
            .append("sorts", getSorts())
            .append("sampleNum", getSampleNum())
            .append("model", getModel())
            .append("nums", getNums())
            .append("storeTime", getStoreTime())
            .append("storePlace", getStorePlace())
            .append("storeLimits", getStoreLimits())
            .append("remarks", getRemarks())
            .toString();
    }
}
